reprepro工具同步Deb仓库详解(附Shell半自动与自动同步Deb仓库源码)【提供两种配置web服务的方式,nginx与apache2】 | 您所在的位置:网站首页 › innwa bank application › reprepro工具同步Deb仓库详解(附Shell半自动与自动同步Deb仓库源码)【提供两种配置web服务的方式,nginx与apache2】 |
目录 一:创建key(前提:主仓库已经搭建完毕,此文无本地仓库搭建方法,只有签名仓库搭建方法)【注意有网址的是分仓库,主仓库随便在哪里搭建】 (1)创建GPG密钥并备份 (2)将密钥写入仓库下(仓库路径,为你创建仓库的路径。主仓库和分仓库都加) 二、建立一个web站点【nginx与apache2】(建议用apache2进行配置,成功率高,笔者nginx配置失败。报错:gpg:未找到有效的OpenPGP数据) (1)nginx配置(二者选其一) 1、安装准备程序 2、配置nginx指向分仓库跟目录,/etc/nginx/sites-enabled/default/ 3、将主机名改成uos.com.【不修改的话最后wget的时候访问不到】 4、将配置的网站,到/etc/apt/sources.list中添加源 5、导入公钥可以正常使用 ,apt-key add: (2)apache2配置(二者选其一) 1、安装apache2 2、创建分仓库地址 (默认地址是/var/www/html) 3、复制www的路径,并修改 4、修改000-default.conf文件 5、重启运行 三:进行reprepro同步 (1)创建一个主仓库随便一个地址(目录),并且用reprepro includedeb添加一个Deb包 1、自己找一个deb包即可 (2)看下主仓库同步配置 1、注意箭头 (3)进行同步 四:Shell自动化同步deb仓库源码(半自动里面的路径和Codename需要自己改动【case中的】) (1)半自动同步,需要实时更新脚本内容。量变产生质变。 (2)自动同步,输入Method和Codename即可。注意前后顺序。 一:创建key(前提:主仓库已经搭建完毕,此文无本地仓库搭建方法,只有签名仓库搭建方法)【注意有网址的是分仓库,主仓库随便在哪里搭建】 (1)创建GPG密钥并备份在仓库/ppa下创建key目录,在目录下创建public.keys文件 mkdir -p /home/uos/Desktop/ppa/key #路径是你仓库的路径,我的仓库叫ppa,里面有conf目录,在创建个key目录,key目录有public.key文件 touch /home/uos/Desktop/ppa/key/public.key (2)将密钥写入仓库下(仓库路径,为你创建仓库的路径。主仓库和分仓库都加) #列出系统中的密钥 gpg --list-keys #密钥写入到了仓库下。 gpg --armor --export 6B7FC1801B1734DEAFCF782F3A805B095AE7DE78 >/home/grid/Desktop/ppa/key/public.key给仓库签名:实际上就是在配置里面加上SignWith:/ppa/key/public.key,然后重新生成源数据即可:#distributions配置信息下加入以下语句SignWith:6B7FC1801B1734DEAFCF782F3A805B095AE7DE78 二、建立一个web站点【nginx与apache2】(建议用apache2进行配置,成功率高,笔者nginx配置失败。报错:gpg:未找到有效的OpenPGP数据) (1)nginx配置(二者选其一) 1、安装准备程序 sudo apt install nginx 2、配置nginx指向分仓库跟目录,/etc/nginx/sites-enabled/default/ sudo vim /etc/nginx/sites-enabled/default/配置以下信息 注意: server_name mabot.com;处应修改为自己的网站名。 root /home/uos/Desktop/ppa;应修改为root 分仓库地址。 server { listen 80; server_name uos.com; access_log /var/log/nginx/packages-error.log; error_log /var/log/nginx/packages-error.log; root /home/uos/Desktop/ppa; index index.html index.htm; location / { autoindex on; } location ~ /(.*)/conf { deny all; } location ~ /(.*)/db { deny all; } } 3、将主机名改成uos.com.【不修改的话最后wget的时候访问不到】 hostnamectl set-hostname uos.com添加一行: sudo vim /etc/hosts 127.0.0.1 grid.com 4、将配置的网站,到/etc/apt/sources.list中添加源 sudo vim /etc/apt/sources.list添加以下信息: deb http://uos.com/ ppa main contrib non-free 最后测试仓库的签名 没有导入公钥,无法使用 apt-get update apt-get update 5、导入公钥可以正常使用 ,apt-key add: wget -q -O - http://uos.com/key/public.key |sudo apt-key add - (2)apache2配置(二者选其一) 1、安装apache2 #更新apt源 sudo apt-get update #安装apache2 sudo apt-get install apache2安装完成后,可以再网页中输入127.0.0.1试试,应该出现以下界面: 此时浏览器访问localhost就是我们想要的www站点目录了(如果还是apache的页面可能会存在缓存卡顿,就去访问127.0.0.1或者ctrl+f5强制刷新浏览器页面) 1、你的updates中的Suite和Method应该指向的是同一个仓库,不然找不到。 2、Suite对应的是你要同步仓库的Codename,将其里面的deb包同步到现在的主仓库中。(注意在正确目录下进行同步,正确目录下应该有conf目录) Suite: eagle Method: http://127.0.0.1/wwa/ 好了,到目前你已经同步成功了。 四:Shell自动化同步deb仓库源码(半自动里面的路径和Codename需要自己改动【case中的】) (1)半自动同步,需要实时更新脚本内容。量变产生质变。 |
CopyRight 2018-2019 实验室设备网 版权所有 |